﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Lola.Datos.Persistencia;

namespace Lola.Entidades
{
    public class eChofer
    {
        private string nombre;
        private string apellido;
        private int dni;
        private string empresa;  
        private int legajo;
        private DateTime fechaNacimiento;
        private string nacionalidad;
        private DateTime fecVencimientoRegistro;



        public eChofer(string nombre, string apellido, int dni, string empresa, int legajo, DateTime fechaNacimiento, 
                            string nacionalidad, DateTime fecVencimientoRegistro)
        {
            this.nombre = nombre;
            this.apellido = apellido;
            this.dni = dni;
            this.empresa = empresa;
            this.legajo = legajo;
            this.fechaNacimiento = fechaNacimiento;
            this.nacionalidad = nacionalidad;
            this.fecVencimientoRegistro = fecVencimientoRegistro;
        }

        
        
        public string Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }

        public string Apellido
        {
            get { return apellido; }
            set { apellido = value; }
        }

        public int Dni
        {
            get { return dni; }
            set { dni = value; }
        }


        public DateTime FecVenReg
        {
            get { return fecVencimientoRegistro; }
            set { fecVencimientoRegistro = value; }
        }
       
        public string Empresa
        {
            get { return empresa; }
            set { empresa = value; }
        }
       

        public int Legajo
        {
            get { return legajo; }
            set { legajo = value; }
        }
     

        public DateTime FechaNac
        {
            get { return fechaNacimiento; }
            set { fechaNacimiento = value; }
        }
       

        public string Nacionalidad
        {
            get { return nacionalidad; }
            set { nacionalidad = value; }
        }
        
        public static List<eChofer> obtenerChoferes(List<int> legajos)
        {
            List<eChofer> choferes= new List<eChofer>();
            for (int i = 0; i < legajos.Count; i++)
            {
                var ch = pChofer.buscarChofer(legajos.ElementAt(i));
                eChofer chofer = new eChofer(ch.nombre, ch.apellido, ch.dni, ch.empresa, ch.legajo, ch.fechaNac, ch.nacionalidad, ch.fecVecReg);
                if (chofer != null)
                    choferes.Add(chofer);
            }
            return choferes;
        }

        public static List<eChofer> obtenerChoferes()
        {
            List<Lola.Datos.Chofer> choferes = pChofer.buscarChoferes();
            List<eChofer> rsChoferes = new List<eChofer>();

            foreach (Lola.Datos.Chofer ch in choferes)
            {
                eChofer nCh = new eChofer(ch.nombre, ch.apellido, ch.dni, ch.empresa, ch.legajo, ch.fechaNac, ch.nacionalidad, ch.fecVecReg);
                rsChoferes.Add(nCh);
            }

            return rsChoferes;
        }

        public static List<DTO.Grilla.dtoChoferG> getChoferesdeUnServicio(String codigoServicio)
        {
            List<DTO.Grilla.dtoChoferG> res = new List<DTO.Grilla.dtoChoferG>();
            List<Lola.Datos.Chofer> lista = pChofer.buscarChoferesPorServicio(codigoServicio);
            foreach (Lola.Datos.Chofer ch in lista)
            {
                Lola.DTO.Grilla.dtoChoferG newCho = new DTO.Grilla.dtoChoferG();
                newCho.Apellido = ch.apellido;
                newCho.Nombre = ch.nombre;
                newCho.Legajo = ch.legajo;
                res.Add(newCho);
            }
            return res;
        }
    }
}
